class Solution:
    def gcdOfStrings(self, str1: str, str2: str) -> str:
        if len(str2) > len(str1):
            str1, str2 = str2, str1

        def f(a, b):
            ans = True
            for i in range(len(a)):
                v = a[i]
                for j in range(i, len(b), len(a)):
                    if b[j] != v:
                        return False
            return True

        n = len(str2)

        for i in range(1, n + 1):
            p = n // i
            if len(str1) % p == 0:
                s = str2[:p:]
                if f(s, str2) and f(s, str1):
                    return s
        return ""


a = "123456"
print(a[:3:])
so = Solution()
print(
    so.gcdOfStrings(
        "TAUXXTAUXXTAUXXTAUXXTAUXX", "TAUXXTAUXXTAUXXTAUXXTAUXXTAUXXTAUXXTAUXXTAUXX"
    )
)
